#include <stdio.h>

int main()
{
    //求2^100
    int a[100] = {0};   //一个超级大数的100位
    a[0] = 1;
    for(int i = 0; i < 100; i++)
    {
        for(int j = 0; j < 100; j++)    //每一位乘2
        {
            a[j] *= 2;
        }
        for(int j = 0; j < 99; j++) //每一位有进位则进位
        {
            if(a[j] >= 10)
            {
                a[j+1]++;
                a[j] -= 10;
            }
        }
    }

    //找到第一个不为0的开始输出
    int flag = 0;   //标志位（用来进行状态的切换）
    for(int i = 99; i >= 0; i--)
    {
        if(a[i] != 0)   //状态切换的时机 修改标志位
        {
            flag = 1;
        }
        if(flag == 1)   //当状态切换时打印
        {
            printf("%d", a[i]);
        }
    }
    printf("\n");
    
    return 0;
}